package dao

import (
	"time"
)

// 这是 UmsIntegrationChangeHistory 的全局公开dao对象，被service层调用!
var UmsIntegrationChangeHistoryDao = umsIntegrationChangeHistoryDao{}

// 这是 ums_integration_change_history表 的实体类
type UmsIntegrationChangeHistory struct {
	ChangeCount int32     `json:"change_count" form:"change_count" v:"change_count"` // 积分改变数量
	ChangeType  int32     `json:"change_type" form:"change_type" v:"change_type"`    // 改变类型：0-&gt;增加；1-&gt;减少
	CreateTime  time.Time `json:"create_time" form:"create_time" v:"create_time"`
	Id          int64     `json:"id" form:"id" v:"id"`
	MemberId    int64     `json:"member_id" form:"member_id" v:"member_id"`          // 这是一个逻辑外键,关联ums_member(id)
	OperateMan  string    `json:"operate_man" form:"operate_man" v:"operate_man"`    // 操作人员
	OperateNote string    `json:"operate_note" form:"operate_note" v:"operate_note"` // 操作备注
	SourceType  int32     `json:"source_type" form:"source_type" v:"source_type"`    // 积分来源：0-&gt;购物；1-&gt;管理员修改

}

// 注意:这是 UmsIntegrationChangeHistory 的私有dao对象，只能在dao层内使用!
type umsIntegrationChangeHistoryDao struct {
	InsertTemplate func(arg UmsIntegrationChangeHistory) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg UmsIntegrationChangeHistory) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                                      `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (UmsIntegrationChangeHistory, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]UmsIntegrationChangeHistory, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 ums_integration_change_history 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type UmsIntegrationChangeHistoryPostman struct {
change_count
change_type
create_time
id
member_id
operate_man
operate_note
source_type

}*/

// 这是 ums_integration_change_history 表的批量请求参数
type UmsIntegrationChangeHistoryReq struct {
	List []UmsIntegrationChangeHistory `json:"list" form:"list"`
}
